import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from "path";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, "./src")
    }
  },
  server: {
    // 开发服务器配置
    port: 5173,
    open: true, // 自动打开浏览器
    cors: true,
    // 强制刷新配置
    hmr: {
      overlay: true // 显示热更新错误
    }
  },
  // 构建配置
  build: {
    // 生成文件名的哈希值，避免缓存
    rollupOptions: {
      output: {
        chunkFileNames: 'js/[name]-[hash].js',
        entryFileNames: 'js/[name]-[hash].js',
        assetFileNames: '[ext]/[name]-[hash].[ext]'
      }
    },
    // 构建优化配置
    minify: 'esbuild', // 使用 esbuild 替代 terser，更稳定
    sourcemap: false, // 生产环境不生成 sourcemap
    // 移除可能导致问题的 terser 配置
  },
  // 预览配置
  preview: {
    port: 4173,
    open: true
  }
})
